📡 Aktuelle Trefferliste ist gefiltert!
👀 Alles 📋 Index 📅 Zuletzt 🌐 Links

 

php scripte


Bilderstapel
EXIF Metadaten
fotodownloader
Sonne Mond Licht Dämmerung Blaue und Goldene Stunde
Webbasiertes Bildarchiv


 

php scripte



 

Bilderstapel


 

Bilderstapel 1.0 erzeugt ein Trueimage Bild aus mehreren Bildern in Form eines... Stapels aus Fotos...


download
Source direkt ansehen

 
Ein Bild sagt mehr als 1000 Worte - ein on-the-fly generierter Bilderstapel aus 5 zufällig ausgewählten Bildern meiner Galerie:



 
Eine Liste von Bildern wird ggf. passend verkleinert, auf Wunsch mit Rahmen versehen und - zufällig gegeneinander verdreht - aufeinander gelegt auf einem Hintergrundbild dargestellt (also in etwa, als ob jemand einen Stapel Fotos bzw. Bilder achtlos auf einem Tisch abgelegt hat)...

Nützlich z.B. zum einbauen in eine Webgalerie / Bildergalerie. Nach einer Idee von Mikko Koppanen... (der das ganze noch etwas ausgefeilter (Schattierung, Polaroid-Style...) mit Imagemagick vorstellt).

Das Script arbeitet mit reinen php-Mitteln (also z.B. ohne den Einsatz von imagemagick realisiert). Erforderlich ist aber die - normalerweise zur Verfügung stehende - GD2-Lib!
29.04.2008


 

EXIF Metadaten


Links zum Thema EXIF Metadaten
download Alle EXIF-Tags von 35 Beispielbildern der Fuji S9500 (siehe readme.txt im Archiv)

Die folgenden Scriptschnipsel in php5 zeigen analog einem kleinen Tutorial / Workshop, wie man mit wenig Aufwand alle bekannten EXIF-Daten für eigene Zwecke aus JPG-Fotos extrahiert und interpretiert, ausserdem kleine Beispiele wie man Thumbnails (z.B. für einen Cache) herausziehen / erzeugen kann.

Makernotes der Hersteller sind u.U. nicht immer ganz komplett codiert, sondern auf die Werte meiner Kameramodelle bezogen. Es lohnt also im einzelnen (wenn man denn überhaupt etwas vermisst) bei den o.a. EXIF-Links (insb. der Aufstellung von Phil, dem Autor des ExifTools) nachzusehen...

(c) 2007, Jürgen Galupki, Lizenzhinweise

<plugin-liste>
29.04.2008


 

fotodownloader

download foto downloader 1.1 beta (php)

 

Der foto downloader kopiert die auf einer Speicherkarte (oder Verzeichnis einer Festplatte oder eines Netzlaufwerks) vorhandenen Daten (Quellverzeichnis) (in datumsorientierte Unterverzeichnisse) in ein anzugebendes Zielverzeichnis (auf demselben / einem anderen Laufwerk) - also nach Jahr/Monat -> .../jjjj/mm/jjjjmmtt_hhmmss-originalname.jpg einsortiert


 
Dabei werden alle Unterverzeichnisse (bezogen auf das angegebene Quellverzeichnis) rekursiv durchsucht - wahlweise kann man aber auch ''manuell'' sequentiell durch die Quell-Verzeichnisstruktur navigieren.

 
Es wird automatisch eine passende datumsorientierte Unterverzeichnisstruktur angelegt (bzw. ergänzt), und die übertragenen Dateien werden passend (aufgrund der EXIF-Aufnahmezeit) umbenannt (exif rename Funktion. Prinzipiell kann man diese Struktur auch nach beliebigen anderen EXIF-Tags geordnet aufbauen).

Beispiel: 
Ein Bild namens IMG0001.jpg, aufgenommen am 19.02.2007 um 11:11 Uhr 
würde wie folgt kopiert: 
''laufwerk:''/''zielverzeichnis''/2007/02/20070219_111100-IMG0001.jpg
 
Bonbons:


 
Prinzipiell lässt sich foto downloader auch dazu benutzen, eine vorhandene Verzeichnisstruktur (mit beliebig gegliederten Unterverzeichnissen) auf der Harddisk passend umzukopieren

(Sinnvolle Voraussetzungen hierfür: Dateien sollten EXIF-Daten enthalten - bzw. die Dateien sollten sinnvolle Zeitstempel (Erstellungsdatum / Datum letzte Modifikation) - z.B. für das umkopieren/archivieren von Logdateien) enthalten - gedacht ist es aber hauptsächlich zum ''download'' der Fotos (Filme, Sound-Begleitdateien, ...) von Speicherkarten im Leser, oder direkt von der als USB-Mass-Storage angeschlossenen Kamera auf die Festplatte.

 
foto downloader kennt einige gängige herstellerspezifische Verzeichnisstrukturen und Datei-Benennungsschemata (Canon, Fujifilm, Panasonic, und generell den zumeist zugrunde liegenden DCF Standard), so dass zusammengehörige Dateien (z.B. WAV-Dateien zu Bildern, separieren von Panorama-Teil-Bildern oder Videos in ein eigenes Unterverzeichnis u.a.) auch passend benannt - bzw. überflüssige Dateien (z.B. Canon-DPOF-Einstellungen) ignoriert werden.

Ein Protokoll (Datum und Zeit kopieren, Quellname, Zielname, Kameramodell/Hersteller) der kopierten Dateien findet man anschliessend im Zielverzeichnis...

 

Webserver


Auf dem Bildbearbeitungsrechner muß ein lokaler Webserver laufen, z.B. eine Distribution wie XAMPP, der Abyss Webserver plus php - oder z.B. eine Server2Go-Distribution (die läuft auch von einer CD/DVD/USB-Stick!)

 

Praktische Hinweise


In der beta-Version wird der Fortschritt in Form einer HTML-Tabelle aufgebaut. Der Microsoft IE zeigt diese Tabelle erst an, wenn das Quellverzeichnis komplett abgearbeitet ist (was je nach Datenumfang ja recht lange dauern kann!). Es ist also empfehlenswert, die Ausgabe nicht in Tabellenform vorzunehmen (muss man im Script dann ändern) oder z.B. mit dem Firefox auszuführen (der die Ausgabe entsprechend dem Bearbeitungsfortschritt laufend anzeigt) oder (...).

 

Besonderheiten / Konfiguration Server2Go


Server2Go-Installation z.B. muss leicht ergänzt/geändert werden (in der php.ini müssen die Module exif, gd2 und mbstring aktiviert werden - mbstring muss ''vor'' exif aufgeführt sein!).

 
Achtung

04.01.2010


 

Sonne Mond Licht Dämmerung Blaue und Goldene Stunde


 

Das Script Sonnenauf- und Untergangszeiten, Dämmerungszeiten und Mondphase zeigt berechnete Daten (Sonnenaufgang, Sonnenuntergang, bürgerliche Dämmerung, Natutische und Astronomische Dämmerung, Blaue Stunde, Goldene Stunde...) für den aktuellen (einen beliebigen) Tag an.


Über eine Ortssuche (kleine lokale Datenbank mit deutschen Städten) kann (halbautomatisch) eine andere geografische Koordinate eingestellt werden. Der Standort wird über eine google-Maps-Karte angezeigt.

Unterstützt der Client/Browser eine automatisierte Ortsbestimmung (Geolocation per GPS z.B.), kann diese für die Standortermittlung verwendet werden.

Natürlich kann die Position (wie alles Andere) auch manuell vorgegeben werden.

Die Daten sind nützlich, um z.B. für einen bestimmten Tag/Location die Lichtverhältnisse rund um die Dämmerungszeiten zu bestimmen. Wenn man einen Ort auswählt, bekommt man (innerhalb der Ortssuche über Datenbank) weiterführende Links (zur Stadt, zum genauen Sonnenstand, zum Wetter) angeboten. Wer es ganz genau wissen will (z.B. auch Himmelsrichtung und Höhe über dem Horizont zu bestimmten Zeiten), klickt dort auf den Link zum Sonnenstandsdiagramm (ein Service der Landeshauptstadt Stuttgart, Amt für Umweltschutz, Abt. Stadtklimatologie)...

 

Was wird ausgegeben?


official     Sonne geht am Horizont auf oder unter
civil         Dämmerung beginnt / endet
nautical     Umrisse (z.B. auf See) können noch schemenhaft wahrgenommen werden
astronomical Ab / bis wann ist es tatsächlich stockdüster
 
Ortsangepasste Daten für ein gesamtes Kalenderjahr stellt das Tool in Dateiform zum Download zur Verfügung (z.B. als CsvDatei zum Import in Excel, als vorbereitete Agenda zum einfügen in Tiddlywiki oder für Mediawiki -Syntax, im iCalendar-Format zum Import in Thunderbird oder Outlook usw.)


 

Fotografie


Für die Blaue und Goldene Stunde muss (kann) man sich nicht ganz exakt an die berechneten Zeiten halten, sie dienen hauptsächlich der ungefähren Orientierung
(und sind ja ohnehin Wetter/witterungsabhängig).

Für die \"Blaue Stunde\" kommt daher letztlich der gesamte Zeitraum in Betracht, der innerhalb der civil+nautical-Dämmerung liegt(d.h. die Sonne ist nicht mehr oberhalb des Horizontes sichtbar, aber der Himmel ist auch noch nicht tiefschwarz), Schwerpunkt wohl Richtung Zeitpunkt der \"Nautischen Dämmerung\".

Die goldene Stunde beginnt/endet eigentlich auch schon um die Zeiten des Sonnenauf- und -untergangs herum, von/bis hin zu Sonnenstandswinkeln von etwa max. 20 Grad oberhalb des Horizonts. Faustregel: Sonne steht dann ungefähr zwei handbreit (am ausgestreckten Arm) oberhalb des Horizonts oder tiefer.

Letztlich verwischen die Grenzen: Kurz nach Sonnenuntergang (bzw. vor Sonnenaufgang) hat man aufgrund von Lichtreflexion oft für kurze Zeit ein schönes Abend-/Morgenrot am Himmel (auch: Alpenglühen).
Umgekehrt (bei sehr tiefem Sonnenstand, also kurz vor Sonnenuntergang (nach Sonnenaufgang)) kann man schöne komplementäre Farbstimmungen einfangen, z.B. spiegeln sich dann auf bewegten Wasseroberflächen gleichzeitig gelblich/rote und magenta/mauve/blaue Farben des Himmels (aus Ost-/West-Richtungen)
- ähnliches gelingt in der blauen Stunde (ohne Sonne) dann wieder mit dem tiefblauen Himmel, als Komplementärfarben nimmt man künstliche Beleuchtungen ins Bild.

Variieren kann man mit der Licht-Ausrichtung, gerade in der Goldenen Stunde kann man gut sowohl Gegenlicht, Streiflicht als auch Vorderlicht nutzen.
Durch die stärkere Streuung (Staub, Dunst) bei tiefstehender Sonne erhält man oft \"weicheres\" Licht+Schatten...

Generell macht RAW (dann kann man den Weissabgleich später in Ruhe ausknobeln) und eine niedrige ISO-Zahl Sinn (Rauschen in den oft weichen / pastellfarbenen Bereichen sieht nicht gut aus). Fotografiert man in JPEG sollte man zwischendurch immer wieder die Grund-Farbstimmung kontrollieren oder einfach mit mehreren Weissabgleichs-Einstellungen \"parallel\" die Bilder machen (Tageslicht, Wolken, Kunstlicht, Auto bzw. WB-Belichtungsreihe wenn die Kamera das unterstützt), denn eine nachträgliche Anpassung ist später nicht ganz leicht. Genauso ist eine klassiche Belichtungsreihenautomatik per default empfehlenswert sofern man keine ganz konkreten Vorstellungen davon hat, wie die Bilder genau aussehen/wirken sollen.

Aufgrund der längeren Belichtungszeiten - spätestens nach Sonnenuntergang - sollte ein Stativ und Fernauslöser nicht fehlen...

 

mobiler Zugriff


Fürs Smartphone oder Tablet: diese Seite bookmarken...
22.10.2014


 

Webbasiertes Bildarchiv


 

browser4exif2csv 1.03a vom 19.09.2003


Dokumentation

download 1.01a
download 1.03a

Die Backuptools oder Robocopy helfen beim "spiegeln", bzw. der Datensicherung (Windowsplattform)

Um die Übersicht im eigenen digitalen "Bilderdschungel" zu behalten, sind ein paar Hilfsmittel notwendig. Neben der reinen Datenspeicherung ist natürlich auch ein leichtes wiederfinden von bestimmten Bildern wünschenswert, d.h. z.B. katalogisieren der Bilder unter Verwendung von Kategorien und/oder Stichworten. Zuguterletzt sollte das ganze "kompatibel" (z.B. sollte jederzeit eine Überführung in eine dedizierte Datenbankapplikation möglich sein), "plattformunabhängig" (problemloser Transfer zwischen verschiedenen Betriebssystemen wie Windows, Linux muss gegeben sein...) und insgesamt nicht allzu aufwendig sein.

Zwei "Komponenten" arbeiten bei mir zusammen: Eine hierarchische Unterverzeichnisstruktur und Hilfsmittel in Form von php-Scripts. Zusammen ermöglicht das die folgenden Anforderungen zu bedienen:

(*)
CSV: comma separated values (trennzeichenoriente Textdatei, Trennzeichen: ";" Semikolon)
EXIF: Aufnahmedaten werden in der Bilddatei gespeichert (z.B. Vorschaubild, Blende, Belichtungszeit u.v.a.)

 

Verzeichnisstruktur


Ich ordne meine Bilder zeitlich sortiert. Die Kamera ist so eingestellt, dass die Bilder fortlaufend numeriert werden (also kein Rückstellen des Zählers nach löschen der CF-Karte. Muss aber auch nicht sein.).

Vorschlag Unterverzeichnisstruktur

Also prinzipiell geordnet nach "/kalenderjahr/monat/stichwort/bilddateiname". Und zwar die Originale.

Bearbeitete Bilder (Ausschnitt, schärfen...) LÖSCHE ich normalerweise, sobald sie ihren Zweck erfüllt haben (i.d.R. Ausbelichtung auf Fotopapier) - Ausnahme: Die Bearbeitung erstreckte sich nicht nur auf eine schnelle Ausschnittswahl / nachschärfen / einfache Tonwertkorrektur, sondern war (relativ) aufwendig. Diese Bilder werden dann ebenfalls aufbewahrt und wandern in ein Unterverzeichnis ".../bearbeitet/" des betr. Ordners.

 

ÜBRIGENS - für die Fraktion der "themenorientierten" Verzeichnisfreaks.


Es spricht absolut nichts dagegen, neben dieser "zeitlich" orientierten Verzeichnisstruktur eine (mehrere) weitere, "thematisch" orientierte Verzeichnisstruktur(en) zu pflegen. In dieser zweiten (...) Struktur setzt man einfach (je nach Betriebssystem unterschiedlich) einen Link zum Originalbild. Auf diese Art und Weise spart man sich u.U. das anlegen von Kategorien in einer extra dafür angelegten Datenbank. Den Link setzt man im Zielverzeichnis z.B. unter Linux mit "ln" oder unter Windows mit "fsutil hardlink".

Zusätzlich existieren eine handvoll Scriptfiles (Windows), die zu Zwecken der Datensicherung (brennen neuer Bilder auf CD) / spiegeln Dateien auf anderen Rechner / Platte angelegt wurden (abhängig vom Archiv-Bit der Dateien, das ist aber kein Muss, es geht auch über das letzte Änderungsdatum oder man benutzt z.B. "robocopy.exe" aus dem Windows Resource Kit zur vollautomatischen Mirror-Pflege). Bei Interesse mal in die Backuptools reinsehen.

 

Bildarchiv


Eine Reihe von php-Scripts erledigen diesen Job, solange es sich nur um ein paar hundert (wenige Tausend) Bilder handelt. Dazu ist ein lokal installiertes WAMP/LAMP (MySQL wird aber nicht benötigt) notwendig. Prinzipielle Arbeitsweise:

Ein Script zeigt verzeichnisorientiert alle Bilder der Verzeichnisstruktur an. "On-the-fly" werden Vorschaubilder und die gewünschten EXIF-Daten extrahiert/angezeigt. Gleichzeitig ermöglicht dieses Script die Vergabe/Anzeige beliebiger Kategorien und Stichworte zu jedem Bild. Bereits (automatisch) erzeugte Vorschaubilder und extrahierte Daten werden in einem separaten Verzeichnis im Hintergrund gespeichert.

Die Datenhaltung erfolgt in Form von trennzeichenorienten Textdateien (also kein Datenbankmanagementsystem notwendig. Andererseits können diese Dateien bei Bedarf als "input" für ein solches DBMS dienen...). Die Vorschaubilder sind als *.jpg-Dateien hinterlegt; für jedes Verzeichnis wird eine CSV-Datei mit den EXIF-Daten (plus evtl. Kategorien und Stichworten) automatisch angelegt und fortgeschrieben.

Ein weiteres Script arbeitet lediglich mit diesen bereits "extrahierten/Vorschau"-Daten. Es ermöglicht grundlegende "Datenbankabfragen" über die extrahierten Daten, also z.B. Abfragen wie:

Theoretisch spricht nach dem aufbauen der CSV-Dateien nichts dagegen, ganze(!) Bildverzeichnisse z.B. auf CD-R(W) oder DVD auszulagern (das "Datenbank"script arbeitet ja lediglich mit den CSV-Dateien und extrahierten Vorschaubildern). Hinweise dazu finden sich in der Dokumentation (History zu 1.03a sowie Bemerkungen "zu bekannten Problemen" durchlesen!).

Die Scripts sind für Bilder einer Canon Powershot A60/A70 optimiert/getestet (also insbesondere die speziellen CANON EXIF Makernotes werden ausgewertet), aber die wesentlichen EXIF-Daten auch anderer Kameramodelle werden angezeigt (soweit die Attribute nicht in den Makernotes des jeweiligen Herstellers "versteckt" sind). Prinzipiell können aber Makernotes anderer Hersteller leicht integriert werden - sofern das Format der Makernotes bekannt ist. Hinweise auf Quellen befinden sich am Anfang der Scriptdatei "canon.php").

Welche Daten nun genau ausgelesen werden und weitere Einzelheiten erfährt man, wenn man oben dem Link "Dokumentation" folgt. Unter "download" kann man sich die Scripts als Archiv downloaden.

Da die Scripts eher für den Heimrechner gedacht - und nicht multi-user-fähig sind - biete ich hier keine Onlineversion an. Vielleicht geben die php Bilder auf meiner php-Seite einen kleinen Einblick...

Das Datenbankabfragescript kann in meiner Galerie online begutachtet werden (das ist allerdings eine leicht abgespeckte, modifizierte Version, und auch der Datenbestand ist nicht sonderlich umfangreich, weil meine Galeriebilder zumeist keine EXIF-Daten, Kategorien und Stichwörter enthalten). Dazu auf der Galeriefrontseite dem Link ''"gezielt nach Bildern suchen"'' folgen.

 

Hardcopys der "echten" Version:


normale Verzeichnissicht
Datenbankabfrage
29.04.2008